package com.xk._01基础篇._11哈希表.test;

import java.util.HashMap;
import java.util.Map;

/**
 * @description:
 * @author: xu
 * @date: 2022/9/28 17:25
 */
public class Main {
    public static void main(String[] args) {
        Person p1 = new Person(18, 1.75f, "jerry");
        Person p2 = new Person(18, 1.75f, "jerry");
        // 由于重写 hashCode(),p1、p2哈希值必然相等
        Map<Object, Object> map = new HashMap<>();
        map.put(p1, "abc");
        map.put("test", "bcd");
        // 由于 p1 与 p2 哈希值相等
        // 会比较 p1 与 p2 是否为同一key
        // 由于重写 equals(), p1、p1为同一key
        map.put(p2, "ccc"); // 同一 key 则覆盖,map里的元素数量不增加
        System.out.println(map.size()); // 2
    }
}
